/* 
 * File:   CBallCircle.h
 * Author: qlogic
 *
 * Created on February 3, 2014, 2:44 PM
 */

#ifndef CBALLCIRCLE_H
#define	CBALLCIRCLE_H

class CBallCircle
{
public:
    CBallCircle();
    CBallCircle(const CBallCircle& orig);
    virtual ~CBallCircle();

    cv::Point2f m_ptCenter;
    float m_radius;

    void init();
    bool isSmallerThanBallAtCenterLocationInView() const;
    bool isLargerThanBallAtCenterLocationInView() const;

private:
    // Field of view is a trapezoid just a few feet wide on the near side and tens of feet on the far side
    cv::Point2f m_ptCenterNear;
    float m_ballRadiusNear;
    cv::Point2f m_ptCenterFar;
    float m_ballRadiusFar;
    float m_distanceToFarEdgeOfView;
    float m_tolerancePercentForRadius;

};

#endif	/* CBALLCIRCLE_H */

